1. Field of the Invention
The present invention relates to a method for calculating equal error protection profiles, and more particularly, to a method for effectively calculating equal error protection profiles in Eureka-147 digital audio broadcasting system.
2. Description of Related Art
At present, the Eureka-147 digital audio broadcasting (DAB) system uses a punctured convolutional encoder capable of providing equal error protection (EEP) data service. At the receiving end of the punctured convolutional encoder, the EEP profiles must be captured through a suitable channel decoder
According to the Eureka-147 system standard, the EEP profiles are classified into a data set A and a data set B according to whether the data rate is 8n kilobits per second (8n kbit/s) or 32n kilobits per second (32n kbits/s). The value of n in the 8n kbits/s data rate class is a positive integer between 1 to 216 and the value of n in the 32n kbits/s data rate class is a positive integer between 1 to 57. The aforementioned EEP profiles have different values corresponding to different protection levels. Their relationships are described in the EEP profile data tables shown in FIGS. 1 and 2. FIG. 1 is a data table that corresponds to a data bit rate of 8n, and FIG. 2 is a data table that corresponds to a data bit rate of 32n.
However, the data obtained through the channel decoder include the protection level and the sub-channel size only. Moreover, different protection levels correspond to different sub-channel sizes. Their relationships are shown as tables in FIGS. 3 and 4. FIG. 3 is a table that corresponds to a data bit rate of 8n, and FIG. 4 is a table that corresponds to a data bit rate of 32n.
In particular, the EEP profiles, including L1, L2, PI1 and PI2 (refer to FIGS. 1 and 2), must be determined through the obtained data. At the 8n kbits/s data rate, both the EEP profiles PI1 and PI2 are fixed constants. Therefore, the EEP profiles PI1 and PI2 can be easily obtained through the given protection level. Similarly, at the 32n kbits/s rate, the EEP profiles L3, PI1 and PI are fixed constants so that they can be determined rapidly. However, the remaining profiles L1 and L2 in the data set A and the remaining profile L1 in the data set B still have to be obtained by an appropriate method.
One method for directly calculating the EEP profiles includes dividing the sub-channel size directly by a constant when the data of the data set A or the data set B is selected. The constant is determined according to the pre-provided protection level. FIG. 5 is a block diagram showing a conventional channel decoder for decoding EEP profiles. As shown in FIG. 5, a calculating circuit 510 in the channel decoder 500 receives a batch of externally input protection level and sub-channel size data. Then, according to the protection level and sub-channel size relationships in FIGS. 3 and 4, a sub-channel size relation x=a*n corresponding to the protection level is found. Next, the size value S of the previously received sub-channel size is substituted into the foregoing relation. That is, the value of S is divided by the coefficient ‘a’ to obtain an integer value n.
Next, the calculated value of n is transmitted to the calculation and table look-up circuit 520 of the channel decoder 500. In the meantime, the calculation and look-up circuit 520 also receives the protection level data. According to the initial protection level data, the EEP profile data tables in FIGS. 1 and 2 are utilized to find the profile function y=b*n+c corresponding to the EEP profiles L1, L2, PI1 and PI2 at this protection level.
Finally, the previously calculated n value is substituted into the foregoing profile function to obtain the values of the EEP profiles L1, L2, PI1 and PI2, and then these profiles are utilized to decode the received data.
However, the foregoing method of calculating an integer value of n demands mathematical computations involving multiple divisions and multiplications. Therefore, more multiplexers and adders have to be added to the circuit so that the complexity of the hardware design is increased considerably.
Another method is a table look-up method that includes pre-storing the values of various EEP profiles corresponding to different n values in the EEP profile data table. Hence, after solving the integer value of n, the corresponding EEP profiles can be directly found by referring to the look-up table, thereby significantly reducing the amount of mathematical computations. Yet, this method demands the deployment of a large number of storage units, which is somewhat impractical.